package com.xnyzc.lhy.mis.entity.coupon;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.Version;
import java.time.LocalTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

/**
*
* 优惠券批次
*
* @author haoyfa
* @since 2019-12-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("oa_sys_coupon_batch")
@ApiModel(value="OaSysCouponBatch对象", description="优惠券批次")
public class OaSysCouponBatch implements Serializable {

private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "优惠券定义ID")
    private Long defId;

    @ApiModelProperty(value = "优惠券批次名称")
    private String batchName;

    @ApiModelProperty(value = "优惠券批次编号")
    private String batchNo;

    @ApiModelProperty(value = "有效期开始")
    private LocalDate validityPeriodStart;

    @ApiModelProperty(value = "有效期结束")
    private LocalDate validityPeriodEnd;

    @ApiModelProperty(value = "有效时间段开始")
    private LocalTime validityTimeStart;

    @ApiModelProperty(value = "有效时间段结束")
    private LocalTime validityTimeEnd;

    @ApiModelProperty(value = "门槛金额")
    private BigDecimal baseLine;

    @ApiModelProperty(value = "折扣上限金额")
    private BigDecimal highLine;

    @ApiModelProperty(value = "数量")
    private Integer totalAmount;

    @ApiModelProperty(value = "已发放数量")
    private Integer publishAmount;

    @ApiModelProperty(value = "已核销数量")
    private Integer checkAmount;

    @ApiModelProperty(value = "用户来源")
    private String tag;

    @ApiModelProperty(value = "扩展字段1")
    private String expand1;

    @ApiModelProperty(value = "扩展字段2")
    private String expand2;

    @ApiModelProperty(value = "扩展字段3")
    private String expand3;

    @ApiModelProperty(value = "版本号")
    @Version
    private Long version;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    public static final String ID = "id";

    public static final String DEF_ID = "def_id";

    public static final String BATCH_NAME = "batch_name";

    public static final String BATCH_NO = "batch_no";

    public static final String VALIDITY_PERIOD_START = "validity_period_start";

    public static final String VALIDITY_PERIOD_END = "validity_period_end";

    public static final String VALIDITY_TIME_START = "validity_time_start";

    public static final String VALIDITY_TIME_END = "validity_time_end";

    public static final String BASE_LINE = "base_line";

    public static final String HIGH_LINE = "high_line";

    public static final String TOTAL_AMOUNT = "total_amount";

    public static final String PUBLISH_AMOUNT = "publish_amount";

    public static final String CHECK_AMOUNT = "check_amount";

    public static final String TAG = "tag";

    public static final String EXPAND1 = "expand1";

    public static final String EXPAND2 = "expand2";

    public static final String EXPAND3 = "expand3";

    public static final String VERSION = "version";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

}
